Builders, Withers, and Records: Java’s path to immutability https://foojay.io/today/builders-withers-and-records-javas-path-to-immutability/